package com.shuaigexue.exam.service;


import io.minio.errors.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

/**
 * 文件上传服务
 * 支持MinIO和本地文件存储两种方式
 */

public interface FileUploadService {

    /**
     * 上传文件
     * @param folder 在minio中存储的文件夹(轮播图：banners  视频：videos)文件保存的目录
     * @param  file 前端上传的文件是 MultipartFile对象
     * @return 文件上传成功后的URL
     */
    String uploadFile(String folder,MultipartFile file) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException;
} 